iT邦幫忙

1

【CCNA 學習筆記】第七章:TCP/IP網路層、IPv4協定、子網路

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20230120/20127965mNX23GDLmy.png

IPv4是TCP/IP協定組裡最常使用的協定,位於網路層,它使用32位元作為IP位址。要搞懂IPv4及子網路切割,必須先學會將二進位轉換成十進位,以及如何轉換回來。因為太基礎了,所以這邊就先跳過。

IP位址

假設你住在臺北市中正區重慶南路一段122號,我們可以把這串地址拆為兩部分,

  • 臺北市中正區重慶南路一段
  • 122號

臺北市中正區重慶南路一段,全台灣就只有這條路;至於122號,在重慶南路一段也僅有一處。因此寫信給你時,只要確保每個部分都寫對,原則上你應該就收得到。

IP位址也是同樣設計原則,總長度為32位元,假設有個IP位址是172.16.12.22、子網路遮罩為255.255.0.0,那麼172.16就是網路編號(network ID),12.22為主機編號(host ID)。網路編號是獨一無二的。

接著我們把172.16.12.22轉換成二進位。

https://ithelp.ithome.com.tw/upload/images/20230120/201279659ZX6hiwtF0.png

希望各位看得懂。

表頭

就像是信封上,有郵遞區號、位址欄、收件人欄位等,IP封包也會附上需要許多資訊在資料前端,稱為表頭(header)。表頭欄位請看下圖,最後的Options及Padding很少用到就不說了。

https://ithelp.ithome.com.tw/upload/images/20230120/20127965BMFbblse4p.png

  • Version:表示此IP網路協定是哪一個版本
  • IHL:Internet Header Length,表示此表頭的長度。
  • Service Type:說明需要怎樣的服務品質,有8個位元包含了6個參數,第6個參數保留不使用。
    • 優先權(precedence):佔3個位元,表示IP順序,預設為0,數值越高越優先
    • 延遲(delay):1個位元,若是0表示為一般延遲,若為1表示低延遲,可用於語音傳輸
    • 傳輸量(throughput):1個位元,定義封包對於頻寬的要求,0代表一般,1代表大封包,需要大傳輸量
    • 可靠度(reliability):1個位元,0代表低可靠度,1代表高可靠度,如果要減少封包遺失,可設為1
    • 成本(cost):1個位元,定義封包對於路徑成本的要求。0代表低成本,1代表高成本
  • Total Length:包含表頭與資料的封包長度
  • Identification:IP封包的識別碼,封包傳送到下一層要轉成訊框時,有可能受到最大傳輸單位的限制,需要切割成數個片段(fragments),所以需要知道哪個片段屬於哪一個封包,接收端才能組裝起來
  • Flag:用來定義封包可否切割,及此封包是否為原始封包的最後片段
  • Fragment Offset:封包抵達接收端的時間可能不同,這裡會記錄封包的順序,才不會裝反了
  • Time to Live:存活時間。封包會賦予特定的TTL值,每經過一個路由器就減1,當TTL值降到0,收到封包的路由器就會丟棄它。避免封包一直在網路上傳送
  • Protocol:說明協定類型
  • Header Checksum:確認封包內的資料是否正確
  • Source Address:封包原始發送位址
  • Destination Address:封包目的位址

IP位址的分級

在網路剛形成時,電腦專家替IP位址分級成下列A、B、C(D、E不常用,故不討論):

  • Class A:第一個位元固定為0,也就是1~126開頭,例如10.0.0.1。若IP位址為W.X.Y.Z,共4個8位元組(octet),則W為網路編號(Network ID),X.Y.Z為主機編號(Host ID)。Class A適合用於超過1,600萬台主機的大型網路。開頭為0及127的網路編號另外保留,不派給主機使用。例如127開頭的用於迴圈測試,假設 ping 127.0.0.1有回應,就代表TCP/IP運作正常。
  • Class B:前兩個位元固定為10,也就是128~191開頭,例如172.16.0.1。若IP位址為W.X.Y.Z,則W.X為網路編號,Y.Z為主機編號。Class B適合中型網路,大約6萬5,000台主機的網路。
  • Class C:前三個位元固定為110,也就是192~223開頭,例如192.168.1.1。若IP位址為W.X.Y.Z,則W.X.Y為網路編號,Z為主機編號。Class C適合小型網路,大約254台主機的網路。

子網路遮罩

子網路遮罩目的是將主機IP位址轉換成網路編號,例如有一個主機位址為172.16.12.22,子網路遮罩為255.255.0.0,兩者會做AND位元運算。位元運算是計算機概論的範圍,不多提,簡單地說就是 1 AND 1 = 1,1 AND 0 = 0,你只要記得,子網路遮罩可以把主機編號都轉為0,剩下的就會是網路編號。

https://ithelp.ithome.com.tw/upload/images/20230120/20127965cmbe8WUhQR.png

子網路遮罩也可以表示為位元為1的數量,例如上述的例子可寫成172.16.12.22/16,意思就是前16個位元都是網路編號。

子網段切割

上述的例子,172.16.0.0的網段可以提供大約6萬5,000台主機使用,如果沒有切割網段,如果中毒了可能會一口氣感染網段內所有主機。而且過大的網段在廣播封包時,網路速度可能會較為緩慢;有網路問題時,也比較難查找問題。

假設我們有個網段是192.168.52.0/24。

Decimal Binary
網路位址 192.168.52.0 1100 0000 . 1010 1000 . 0011 0100 . 0000 0000
子網路遮罩 255.255.255.0 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000

現在要切成4個網段,我們會需要額外兩個位元,我們就可以向原本的主機編號部分借兩個位元,也就是192.168.52.0/26,或者把子網路遮罩寫為255.255.255.192。

Decimal Binary
網路位址 192.168.52.0 1100 0000 . 1010 1000 . 0011 0100 . 0000 0000
子網路遮罩 255.255.255.192 1111 1111 . 1111 1111 . 1111 1111 . 1100 0000

https://ithelp.ithome.com.tw/upload/images/20230120/20127965oB837zYLsA.png

共可切割成4個子網段,另外,每個子網段第一個位址代表網段自己,最後一個位址代表廣播位址,都必須保留不用,故4個子網段及可用主機位址如下:

  • 192.168.52.0,可用的主機位址是192.168.52.1~62
  • 192.168.52.64,可用的主機位址是192.168.52.65~126
  • 192.168.52.128,可用的主機位址是192.168.52.129~190
  • 192.168.52.192,可用的主機位址是192.168.52.193~254

私人IP及公用IP

IPv4的發明者在設計時,根本沒想到網路會成為人類歷史上的偉大發明之一。結果IPv4的位址根本不夠用,最好的解決方法就是IPv6,直接從32位元增加到128位元。不過在廣泛使用IPv6之前,人們則使用網路位址轉換(Network Address Translation),並將IP位址分成私人IP(private IP)、公用IP(public IP)。

等級 公用IP範圍
A 1.0.0.0 ~ 9.255.255.255 以及 11.0.0.0 ~ 126.255.255.255
B 128.0.0.0 ~ 172.15.255.255 以及 172.32.0.0 ~ 191.255.255.255
C 192.0.0.0 ~ 192.167.255.255 以及 192.169.0.0 ~ 223.255.255.255
等級 私人IP範圍
A 10.0.0.0/8
B 172.16.0.0/12
C 192.168.0.0/16

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言